package com.j283_5.wisdom_park.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.j283_5.wisdom_park.pojo.Warning;
import com.j283_5.wisdom_park.pojo.WarningDelivery;
import com.j283_5.wisdom_park.pojo.WarningRecord;
import com.j283_5.wisdom_park.vo.device_management.DeviceVo;
import com.j283_5.wisdom_park.vo.warning_management.WarningDeliveryVo;
import com.j283_5.wisdom_park.vo.warning_management.WarningVo;
import org.apache.ibatis.annotations.Param;

import java.util.ArrayList;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author laoda
 * @since 2022-04-28
 */
public interface WarningRecordService extends IService<WarningRecord> {

    /**
     * 根据搜索栏模糊搜索预警记录,实现分页功能
     * @param page
     * @param warningVo
     * @return
     */
    List<WarningVo> queryWarningSum(Page page, WarningVo warningVo, Integer adminId);

    /**
     * 根据搜索栏模糊搜索预警记录的总条数
     * @param warningVo
     * @return
     */
    Integer queryWarningCount(WarningVo warningVo, Integer adminId);

//    /**
//     * 根据预警id查询预警设备的详细信息
//     * @param wrecId
//     * @return
//     */
//    WarningDeliveryVo queryDevice(Integer wrecId);

    /**
     * 根据wrecId集合对数据库预警信息进行假删除
     * @param warningIdList
     * @return
     */
    Boolean deleteWarning(ArrayList warningIdList);

    /**
     * 根据wrecId查询预警派单信息
     * @param wrecId
     * @return
     */
    WarningDeliveryVo queryWarningDelivery(Integer wrecId);

    /**
     * 通过adminId派送预警信息
     * @param wrecId
     * @param adminId
     * @return
     */
    boolean warningDelivery(Integer wrecId, Integer adminId);

    /**
     * 添加预警信息
     * @param dinfId
     * @param warningDeliveryVo
     * @return
     */
    boolean addWarningDelivery(Integer dinfId, WarningDeliveryVo warningDeliveryVo);

    /**
     * 提交维护设备信息
     * @param warningDeliveryVo
     * @return
     */
    boolean updateWarningDelivery(WarningDeliveryVo warningDeliveryVo);
}
